/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.uca.dss.curso2011.grupo1.clases;

import java.util.List;

/**
 * Método que realiza la implementación del reparto de asientos mediante el reparto incremental.
 * @author david
 */
public class RepartoAsientosIncremental implements RepartoAsientos{
    /**
     * Función que asocia un asiento a una reserva.
     * @param codigo Codigo de la reserva.
     * @param asientos listado de los asientos del medio de transporte que realiza el viaje.
     * @return El asiento asociado a la reserva.
     */
    public int insertaAsiento(int codigo, List<Boolean> asientos) {
         int numAsiento = 0;
        boolean encontrado = false;

        for(Boolean asiento : asientos){
            if(asiento.equals(false)){

               encontrado = true;

            }

            if(! encontrado){
               numAsiento += 1;
            }

        }

        asientos.set(numAsiento, !asientos.get(numAsiento));

        return numAsiento;
    }
    /**
     * Función que cancela la reserva de un asiento en un viaje.
     * @param asientos listado de los asientos del medio de transporte.
     * @param numAsiento asiento a cancelar.
     */
    public void cancelaAsiento(List<Boolean> asientos, int numAsiento) {
       asientos.set(numAsiento, !asientos.get(numAsiento));
    }


}
